#ifndef _APP_OLED_H_
#define _APP_OLED_H_

#include <stdint.h>
#include "oled_font.h"


typedef enum
{
	TextSize_Invalid = 0,
	TextSize_6x8,
	TextSize_8x16,
	TextSize_12x24,
	TextSize_16x32
} TextSize_t;

/**
***********************************************************
* @brief 显示一个字符
* @param x:行坐标，y:列坐标，ch:待显示字符，TextSize:字符大小
* @return 
***********************************************************
*/
void OLED_ShowChar(int16_t x, int16_t y, char ch, uint8_t TextSize);

/**
 * ************************************************************************
 * @brief 字符串显示函数
 * 
 * @param[in] x  	起始点横坐标（0~127）
 * @param[in] y  	起始点纵坐标（0~63）
 * @param[in] ch  	字符串（通过双引号引入）
 * @param[in] TextSize  字符大小（1:6*8 ；2:8*16；3:12*24）
 * 
 * ************************************************************************
 */
void OLED_ShowStr(int16_t x, int16_t y, uint8_t ch[], uint8_t TextSize);

/**
 * ************************************************************************
 * @brief BMP图片显示函数
 * 
 * @param[in] x0  	起始点横坐标（0~127）
 * @param[in] y0  	起始点纵坐标（0~63）
 * @param[in] L  	BMP图片宽度
 * @param[in] H  	BMP图片高度
 * @param[in] BMP  	图片取模地址
 * 
 * @example OLED_ShowBMP(0,0,52,48,(uint8_t *)astronaut_0);
 * ************************************************************************
 */
void OLED_ShowBMP(int16_t x0,int16_t y0,int16_t L,int16_t H,const uint8_t BMP[]);


#endif
